package csc.fresher.entity;

import java.sql.Timestamp;

public abstract class Transaction {
	protected long transactionID;
	protected double funds;
	private Timestamp createdDate;
	protected Timestamp beginTime;
	protected Timestamp endTime;
	protected double beforeTxBalance;
	protected int createdBy;
	protected int verifiedBy;
	protected TransactionState transactionState;
	protected long CustomerAccountNumber;
	
	public Transaction() {
		super();
	}

	public Transaction(long transactionID, double funds, Timestamp createdDate,
			Timestamp beginTime, Timestamp endTime, double beforeTxBalance,
			int createdBy, int verifiedBy, TransactionState transactionState,
			long customerAccountNumber) {
		super();
		this.transactionID = transactionID;
		this.funds = funds;
		this.createdDate = createdDate;
		this.beginTime = beginTime;
		this.endTime = endTime;
		this.beforeTxBalance = beforeTxBalance;
		this.createdBy = createdBy;
		this.verifiedBy = verifiedBy;
		this.transactionState = transactionState;
		CustomerAccountNumber = customerAccountNumber;
	}

	public Transaction(double funds, double beforeTxBalance,
			int createdBy, int verifiedBy, 
			long customerAccountNumber) {
		super();
		this.funds = funds;
		this.beforeTxBalance = beforeTxBalance;
		this.createdBy = createdBy;
		this.verifiedBy = verifiedBy;
		CustomerAccountNumber = customerAccountNumber;
	}
	
	

	public Transaction(double funds, 
			Timestamp beginTime, Timestamp endTime, double beforeTxBalance,
			int createdBy, int verifiedBy, 
			long customerAccountNumber) {
		super();
		this.funds = funds;
		this.beginTime = beginTime;
		this.endTime = endTime;
		this.beforeTxBalance = beforeTxBalance;
		this.createdBy = createdBy;
		this.verifiedBy = verifiedBy;
		CustomerAccountNumber = customerAccountNumber;
	}

	public long getTransactionID() {
		return transactionID;
	}

	public void setTransactionID(long transactionID) {
		this.transactionID = transactionID;
	}

	public double getFunds() {
		return funds;
	}

	public void setFunds(double funds) {
		this.funds = funds;
	}

	public Timestamp getBeginTime() {
		return beginTime;
	}

	public void setBeginTime(Timestamp beginTime) {
		this.beginTime = beginTime;
	}

	public Timestamp getEndTime() {
		return endTime;
	}

	public void setEndTime(Timestamp endTime) {
		this.endTime = endTime;
	}

	public double getBeforeTxBalance() {
		return beforeTxBalance;
	}

	public void setBeforeTxBalance(double beforeTxBalance) {
		this.beforeTxBalance = beforeTxBalance;
	}

	public int getCreatedBy() {
		return createdBy;
	}

	public void setCreatedBy(int createdBy) {
		this.createdBy = createdBy;
	}

	public int getVerifiedBy() {
		return verifiedBy;
	}

	public void setVerifiedBy(int verifiedBy) {
		this.verifiedBy = verifiedBy;
	}

	public TransactionState getTransactionState() {
		return transactionState;
	}

	public void setTransactionState(TransactionState transactionState) {
		this.transactionState = transactionState;
	}

	public Timestamp getCreatedDate() {
		return createdDate;
	}

	public void setCreatedDate(Timestamp createdDate) {
		this.createdDate = createdDate;
	}

	public long getCustomerAccountNumber() {
		return CustomerAccountNumber;
	}

	public void setCustomerAccountNumber(long customerAccountNumber) {
		CustomerAccountNumber = customerAccountNumber;
	}
	

}
